Electronically binding to a lost mobile device

ABSTRACT

The first mobile device determining that the first mobile device is lost and the first mobile device, in response to determining that the first mobile device is lost, activating a secure mode on the first mobile device. The first mobile device making the first mobile device discoverable to other mobile devices. The first mobile device electronically binding to a second mobile device. The first mobile device sending information relating to the first mobile device to the second mobile device. The first mobile device receiving an indication that the first mobile device is no longer lost. The first mobile device, in response to receiving the indication that the first mobile device is no longer lost, unbinding from the second mobile device.

TECHNICAL FIELD

The present invention relates generally to mobile devices and morespecifically to a mobile device electronically binding itself to a lostmobile device.

BACKGROUND

Mobile electronic devices are an integral part of modern life.Notebooks, netbooks, tablet computers, smart phones and other portabledevices comprise more than half of all computers produced worldwide.People use them to communicate, work, relax, and study. The memory inthese devices store large amounts of personal data such as contacts,photographs, videos, authorization information, and much more. Corporatecomputers also contain official correspondence and documentation, whichmay include trade secrets.

These mobile electronic devices are often targets for theft or robbery.Criminals can have various objectives: to gain access to a computer'shard drive, to sell the computer, or, rarely, to use it themselves.Portable devices are easily lost due to their size and the fact thatthey are constantly moved around by the user.

SUMMARY

Aspects of an embodiment of the present invention disclose a method,computer program product, and computing system. The method includes afirst mobile device determining that the first mobile device is lost andthe first mobile device, in response to determining that the firstmobile device is lost, activating a secure mode on the first mobiledevice. The method further includes the first mobile device making thefirst mobile device discoverable to other mobile devices. The methodfurther includes the first mobile device electronically binding to asecond mobile device. The method further includes the first mobiledevice sending information relating to the first mobile device to thesecond mobile device. The method further includes the first mobiledevice receiving an indication that the first mobile device is no longerlost. The method further includes the first mobile device, in responseto receiving the indication that the first mobile device is no longerlost, unbinding from the second mobile device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 depicts a diagram of a computing environment in accordance withone embodiment of the present invention.

FIG. 2 depicts a flowchart of the steps of a device recovery program (ina lost device mode) executing within the computing environment of FIG.1, for electronically binding guardian devices and lost devices that arenear each other, in accordance with one embodiment of the presentinvention.

FIG. 3 depicts a flowchart of the steps of a device recovery program (ina guardian device mode) executing within the computing environment ofFIG. 1, for electronically binding guardian devices and lost devicesthat are near each other, in accordance with one embodiment of thepresent invention.

FIG. 4 depicts a block diagram of components of the lost device, theguardian device, and the mobile operator server of FIG. 1 in accordancewith one embodiment of the present invention.

DETAILED DESCRIPTION

Mobile devices or smart phones have become an essential part of ourlives. Their use has gone beyond just making phone calls or texting.Nowadays, these smart phones are all-in-one communications,entertainment, social media and networking devices. They also contain alot of information about us, much of it private. (e.g., contacts,likes/dislikes, notes, ideas, etc.)

The present invention involves other nearby mobile devices to solve the“lost device” problem. A nearby “good Samaritan” phone or mobile deviceelectronically binds itself to a lost device in its vicinity. This canlast until such time that the owner of the lost device or otherresponsible entity (e.g. a mobile operator) accepts responsibility orcontrol over the lost device.

The advantages of this are that the probability of finding a lost deviceis increased because other mobile devices can now be actively involved.The lost device could, for example, send a message directly to themobile operator's system but utilizing nearby devices provides for aspeedier and more efficient recovery mechanism and an extra protectionmechanism.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer-readable program code/instructions embodiedthereon.

Any combination of computer-readable media may be utilized.Computer-readable media may be a computer-readable signal medium or acomputer-readable storage medium. A computer-readable storage medium maybe, for example, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice, or any suitable combination of the foregoing. More specificexamples (a non-exhaustive list) of a computer-readable storage mediumwould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), an optical fiber, a portable compactdisc read-only memory (CD-ROM), an optical storage device, a magneticstorage device, or any suitable combination of the foregoing. In thecontext of this document, a computer-readable storage medium may be anytangible medium that can contain, or store a program for use by or inconnection with an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java®, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

It is understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed. A detailed description of cloud computing is given inthis section to provide a better understanding of the underlyingteachings discussed herein.

The present invention will now be described in detail with reference tothe Figures.

FIG. 1 depicts a diagram of computing environment 10 in accordance withone embodiment of the present invention. FIG. 1 provides only anillustration of one embodiment and does not imply any limitations withregard to the environments in which different embodiments may beimplemented.

In the depicted embodiment, computing environment 10 includes lostdevice 40, guardian device 50, and mobile operator server 60,interconnected over network 20. Network 20 may be a local area network(LAN), a wide area network (WAN) such as the Internet, the publicswitched telephone network (PSTN), a mobile data network (e.g., wirelessinternet provided by a third or fourth generation of mobile phone mobilecommunication), a private branch exchange (PBX), any combinationthereof, or any combination of connections and protocols that willsupport communications between lost device 40, guardian device 50, andmobile operator server 60 in accordance with embodiments of theinvention. Network 20 may include wired, wireless, or fiber opticconnections. Computing environment 10 may include additional computingdevices, servers, or other devices not shown.

Lost device 40 is a smart phone. In other embodiments, lost device 40may be a laptop computer, tablet computer, or personal digital assistant(PDA). In general, lost device 40 may be any mobile electronic device ormobile computing system capable of sending and receiving data, andcommunicating with guardian device 50 and mobile operator server 60 overnetwork 20. Lost device 40 contains contacts Application ProgrammingInterface (API) 80A, location Application Programming Interface (API)90A, and device recovery program 100A.

Guardian device 50 is a smart phone. In other embodiments, guardiandevice 50 may be a laptop computer, tablet computer, or personal digitalassistant (PDA). In general, guardian device 50 may be any mobileelectronic device or mobile computing system capable of sending andreceiving data, and communicating with lost device 40 and mobileoperator server 60 over network 20. Guardian device 50 contains contactsApplication Programming Interface (API) 80B, location ApplicationProgramming Interface (API) 90B, and device recovery program 100B.

Lost device 40 and guardian device 50 are at location 70. Location 70 isan area where lost device 40 and guardian device 50 may communicate overpersonal area network 30. Personal area network (PAN) 30 may be acomputer network with a small geographic scope. Computer networks with asmall geographic scope range from Near Field Communication (NFC) toLocal Area Networks (LANs). A computer network with a small geographicscope typically does not have a connection to the Internet or otherremote networks. Personal area network (PAN) can be used forcommunication among mobile devices themselves (intrapersonalcommunication), or for connecting to a higher level network (e.g., theInternet). A wireless personal area network (WPAN) is a PAN carried overwireless network technologies such as Bluetooth® or peer-to-peercommunications over a wireless LAN (Bluetooth is a registered trademarkof Bluetooth SIG, Inc.). In embodiments of the present invention, lostdevice 40 and guardian device 50 each have the necessary hardware toallow for communication over whatever PAN is used for communicationbetween them (e.g., a Bluetooth radio).

Mobile operator server 60 is a server computer. In other embodiments,mobile operator server 60 may be a management server, a web server, orany other electronic device capable of receiving and sending data. Inanother embodiment, mobile operator server 60 may represent a servercomputing system utilizing multiple computers as a server system, suchas in a cloud computing environment. Mobile operator server 60 containsdevice recovery server program 110.

Lost device 40, guardian device 50, and mobile operator server 60 mayeach include components as depicted in further detail with respect toFIG. 4.

Contacts API's 80A and 80B are application programming interfaces thatprograms can call to retrieve contacts stored on lost device 40 andguardian device 50, respectively. In one embodiment, contacts are storedin a repository on lost device 40 and guardian device 50. The repositorycontains stored contacts and includes information associated with eachcontact. The information associated with each contact may include, butis not limited to, the name of a contact, telephone number of thecontact, the email address of the contact, and any other informationabout the contact. In one embodiment, the repository is a repositorythat may be accessed through contacts API's 80A and 80B. In otherembodiments, the repository may be a database such as an Oracle®database or an IBM® DB2® database.

Location API's 90A and 90B are application programming interfaces thatprograms can call to receive the location of lost device 40 and guardiandevice 50, respectively. Location API's are application programminginterfaces that programs can call to receive the geographic location ofa device. The location API receives the geographic location of a devicefrom a Global Positioning System (GPS) receiver (not shown). A GPSreceiver is integrated or connected to lost device 40 and/or guardiandevice 50. A GPS receiver can determine its geographic location andpresent that geographic location as longitude and latitude coordinates.

In another embodiment, the geographic location of lost device 40 and/orguardian device 50 may be determined by a mobile operator and sent tolost device 40 and/or guardian device 50 to be made available byaccessing location API's (e.g., location API's 90A or 90B). A mobileoperator may be a cellular telephone carrier if lost device 40 and/orguardian device 50 is a cellular telephone (e.g., smart phone). Cellularnetworks can determine the geographic location of a cellular telephoneby using the radio resource location services protocol. Radio resourcelocation services protocol supports the positioning method, EnhancedObserved Time Difference (E-OTD). E-OTD is based on measurements insidethe cellular telephone, where the phone measures the observed timedifference of arrival of bursts sent by nearby pairs of base transceiverstations.

Device recovery programs 100A and 100B operate generally toelectronically bind guardian devices and lost devices that are near eachother (e.g., able to communicate over a personal area network). Devicerecovery programs 100A and 100B are different instances of the sameapplication on different devices. Device recovery programs 100A and 100Bfunction in different modes depending on the device they are operatingon. For example, device recovery program 100A is operating on lostdevice 40; therefore device recovery program 100A will function in alost device mode as discussed in further detail with respect to FIG. 2.Device recovery program 100B is operating on guardian device 50;therefore device recovery program 100B will function in a guardiandevice mode as discussed in further detail with respect to FIG. 3.

Device recovery server program 110 operates generally to provide supportfunctions for device recovery programs 100A and 100B. A support functionmay include receiving, forwarding, and managing telephone calls orelectronic messages (e.g., text messages, email, etc.) between lostdevice 40, guardian device 50, and other devices (not shown). Anothersupport function may include authentication of devices on a mobileoperator's network. In other embodiments, the functionality of devicerecovery programs 100A and 100B may be done by device recovery serverprogram 110.

An example of a generic scenario is as follows. Jim is cycling and hisbike breaks down. Jim accepts a lift from a stranger who drops him intown. When Jim looks for his smart phone (e.g., lost device 40), herealizes he left it in the stranger's car. Jim has no way of finding hissmart phone or contacting the stranger. Jim may have not activated his“find my iPhone®” application (or similar application on another device)or the stranger's car may be in an area with no wireless service.Meanwhile, Jim's smart phone is under a seat in the stranger's car. Thestranger's smart phone (e.g., guardian device 50) is enabled with aninstance of a device recovery program (e.g., device recovery program100B). The stranger's smart phone detects Jim's smart phone in itsvicinity and after finding Jim's smart phone to be lost (activated onJim's smart phone after a configurable time or when it receives an‘activate lost phone’ code from a text from Jim), electronically bindsitself to Jim's smart phone. The stranger's smart phone retrieves Jim'semail address and other details from Jim's smart phone and sends anemail with a phone number of the stranger's smart phone and possiblyother details (e.g., location). Jim receives the email, rings thestranger and the phone is returned. The stranger's smart phone unbindsfrom Jim's smart phone.

FIG. 2 depicts a flowchart of the steps of device recovery program 100A(in lost device mode) executing within the computing environment of FIG.1, for electronically binding guardian devices and lost devices that arenear each other, in accordance with one embodiment of the presentinvention.

Initially, a user of lost device 40 activates and configures devicerecovery program 100A. The user may configure how device recoveryprogram 100A is to determine that lost device 40 is lost. The manyembodiments of how device recovery program 100A may determine lostdevice 40 is lost will be discussed in reference to decision 200 below.In another embodiment, the user may also configure an optional securemode for lost device 40 that may be entered in to when device recoveryprogram 100A determines that lost device 40 is lost. The optional securemode will be discussed in reference to step 210 below. Many otherconfigurable settings will be discussed throughout the discussion ofFIG. 2 and FIG. 3. After the user configures the settings of devicerecovery program 100A, as desired, device recovery program 100A willbegin operation.

In decision 200, device recovery program 100A determines whether lostdevice 40 is lost. In one embodiment, device recovery program 100Amonitors the usage of lost device 40 to determine if there has not beenany outgoing network activity or user initiated activity such asoutgoing text messages, telephone calls, or outgoing internet trafficwithin a particular time frame. Network activity can be monitored byaccessing an API (not shown) that can provide network activitystatistics of lost phone 40. For example, the time frame may be onehour, one day, one week, or any other time period. The time frame maybegin at the activation of device recovery program 100A. The time frameand its beginning may be configurable by the user of lost device 40. Ifthere has not been any outgoing network activity or user initiatedactivity within the particular time frame, device recovery program 100Adetermines that lost device 40 is lost.

In another embodiment, device recovery program 100A monitors thegeographic location of lost device 40 to determine if lost device 40 isin an unusual geographic location. Device recovery program 100A callslocation API 90A of lost device 40 for the geographic location of lostdevice 40. Location API 90A receives the geographic location of lostdevice 40 from a GPS receiver integrated with lost device 40. A GPSreceiver can determine its geographic location and present that locationas longitude and latitude coordinates. Device recovery program 100Acompares the geographic location of lost phone 40 to a plurality ofgeographic locations previously stored on lost device 40. For example,the plurality of geographic locations previously stored on lost device40 may have been entered manually by the user of lost device 40 at setupor automatically by software on lost device 40 that constantly monitoredthe geographic location of lost device 40 during normal operation. Ifthe geographic location of lost device 40 retrieved by device recoveryprogram 100A does not match any of the plurality of geographic locationspreviously stored on lost device 40, device recovery program 100Adetermines that lost device 40 is lost.

In yet another embodiment, device recovery program 100A monitors for thereceipt of a text message from the user of lost device 40 operatinganother device or a text message from another known source. The textmessage must include a code to indicate to device recovery program 100Athat lost device 40 is now lost. In one embodiment, the code may be astring of characters entered in the body of the text message received.The code may be preconfigured by the user of lost device 40 at setup. Ifa text message received contains the code to indicate that lost device40 is now lost, device recovery program 100A determines that lost device40 is lost.

In other circumstances, when a device is lost, that device might nothave the function to say “I'm lost” or might not yet consider itselflost. The user of that device might engage one or more “good Samaritan”devices to be on the lookout for the lost device and report the lostdevice if/when it is encountered. Equally, before a device is lost, theuser of that device might engage some “good Samaritan” devices to “keepa look out for” the device that may be more likely to be lost in thefuture. At some later time the user might ask the “good Samaritans”if/where they last encountered the now lost device. Additionally, the“good Samaritans”, rather than each reporting their individualexperience of the lost device in this regard, might confer and return aconsolidated answer to the enquiring user. Further, the relationship ofthe “good Samaritans” to the lost (or to be lost) device might beauthenticated with the mobile operator, and the “good Samaritan” devicesmight co-operate with the mobile operator in this regard such that whenthe user inquires, they ask the mobile operator before reporting theconsolidated answer to the user (i.e. it may be that the mobile operatorhas better info in some cases).

If device recovery program 100A determines that lost device 40 is lost(decision 200, yes branch), device recovery program 100A proceeds tostep 210. If device recovery program 100A determines that lost device 40is not lost (decision 200, no branch), device recovery program 100Aends. In another embodiment, if device recovery program 100A determinesthat lost device 40 is not lost (decision 200, no branch), devicerecovery program 100A returns to decision 200.

In step 210, device recovery program 100A changes the mode of lostdevice 40 to a secure mode. In one embodiment, device recovery program100A sends an indication to the operating system of lost phone 40 toactivate its security features. The security features may includescreen-locking which requires a personal identification number (PIN) orpassword to unlock, blocking access to stored data on lost phone 40,and/or restricting connectivity (Bluetooth, Universal Serial Bus,network). The restrictions relating to stored data and connectivitywould not hinder function of device recovery program 100A.

In step 220, device recovery program 100A makes lost device 40discoverable to guardian device 50. In one embodiment, device recoveryprogram 100A activates the Bluetooth capabilities of lost device 40. Forexample, device recovery program 100A sends an indication, using aBluetooth API of lost device 40, to activate the Bluetooth capabilitiesof lost device 40 and to put lost device 40 in to “discoverable mode.”In other embodiments, device recovery program 100A causes lost device 40to join any available personal area network such as personal areanetwork 30. For example, if personal area network 30 is a WPAN (e.g.,wireless LAN), device recovery program 100A sends an indication, using awireless network API of lost device 40, to activate a wireless networkantenna of lost device 40 and to join the available wireless network.

In step 230, device recovery program 100A receives a request for lostdevice 40 to electronically bind with guardian device 50 over PAN 30. Inone embodiment, device recovery program 100A receives a request to“pair” lost device 40 with guardian device 50 from device recoveryprogram 100B of guardian device 50 over PAN 30. In this embodiment,guardian device 50 must also be Bluetooth enabled and in “discoverablemode.” In another embodiment, if lost device 40 and guardian device 50are both within range to join the same WPAN (e.g., wireless LAN), devicerecovery program 100A receives a request to create a peer-to-peerconnection from device recovery program 100B of guardian device 50.

In step 240, device recovery program 100A electronically binds lostdevice 40 with guardian device 50 over PAN 30. In one embodiment, devicerecovery program 100A “pairs” lost device 40 with guardian device 50such that device recovery programs 100A and 100B can communicate usingBluetooth protocols. In this embodiment, “pairing” may occur using aknown method of “pairing” that does not require user interaction withlost device 40, such as Secure Simple Pairing (SSP). Other methods of“pairing” may utilize the connections between lost device 40 and mobileoperator server 60 and guardian device 50 and mobile operator server 60to exchange authentication tokens or keys as needed.

In another embodiment, if lost device 40 and guardian device 50 are bothwithin range to join the same WPAN (e.g., wireless LAN), device recoveryprogram 100A accepts the request to create a peer-to-peer connectionfrom device recovery program 100B of guardian device 50 such that devicerecovery programs 100A and 100B can communicate. In other embodiments,lost device 40 and guardian device 50 may be electronically bound suchthat device recovery programs 100A and 100B can communicate utilizingany known protocols or connections over a WPAN.

In step 250, device recovery program 100A sends information to guardiandevice 50. In one embodiment, device recovery program 100A receives arequest from device recovery program 100B over PAN 30 for informationrelating to lost device 40. In response to receiving the request fromdevice recovery program 100B, device recovery program 100A sends theinformation relating to lost device 40 to device recovery program 100Bof PAN 30. In order for device recovery program 100A to respond to therequest from device recovery program 100B, device recovery program 100Acan call various APIs on lost device 40 to obtain the informationrelating to lost device 40. For example, device recovery program 100Acan call contacts API 80A to retrieve the name and contact informationof the user of lost device 40 including other contact numbers or emailaddresses. Device recovery program 100A can call location API 90A todetermine where lost device 40 was lost during operation of step 200described above.

In another embodiment, device recovery program 100A receives a requestfrom device recovery server program 110 over network 20 for informationrelating to lost device 40. The mobile operator may use informationpreviously configured by the user of lost device 40 while accessingdevice recovery server program 110 on the mobile operator's systeminstead of retrieving new information from lost phone 40, itself.

For example, information relating to lost device 40 may include, but isnot limited to: the name and contact information of the user of lostdevice 40 including other contact numbers or email addresses; how longlost device 40 has been lost; where lost device 40 was lost; value ofany reward offered for recovery of lost device 40 (this could be presetduring the configuration of device recovery program 100A).

In step 260, device recovery program 100A receives an indication tounbind lost device 40 from guardian device 50. In one embodiment, afterdata is exchanged between device recovery programs 100A and 100B andlost device 40 is returned to its user, device recovery program 100Areceives an indication from device recovery program 100B over PAN 30indicating that lost device 40 is no longer lost. In another embodiment,device recovery program 100A must also receive an indication from theuser that lost device 40 is no longer lost. For example, if the securemode entered in to in step 210 includes screen locking, the entry of therequired personal identification number or password to unlock the screenwould also disable the lost device status. In other embodiments, devicerecovery program 100A may only have to receive an indication from theuser that lost device 40 is no longer lost.

In step 270, after receiving the indication to unbind lost device 40from guardian device 50, device recovery program 100A unbinds lostdevice 40 from guardian device 50. In one embodiment, if lost device 40and guardian device 50 are “paired” such that device recovery programs100A and 100B can communicate using Bluetooth protocols, device recoveryprogram 100A removes guardian device 50 as a “paired” device. In anotherembodiment, if lost device 40 and guardian device 50 are both withinrange to join the same WPAN (e.g., wireless LAN) such that devicerecovery programs 100A and 100B can communicate, device recovery program100A may send an indication, using a wireless network API of lost device40, to deactivate the wireless network antenna of lost device 40 or todisconnect from the available wireless network.

FIG. 3 depicts a flowchart of the steps of device recovery program 100B(in guardian device mode) executing within the computing environment ofFIG. 1, for electronically binding guardian devices and lost devicesthat are near each other, in accordance with one embodiment of thepresent invention.

Initially, a user of guardian device 50 activates and configures devicerecovery program 100B. The user may configure how device recoveryprogram 100B is to operate when communicating with lost device 40 or anyother device that is lost. After the user configures the settings ofdevice recovery program 100B, as desired, device recovery program 100Bwill begin operation.

In step 300, device recovery program 100B scans for devices nearbyguardian device 50. In one embodiment, device recovery program 100Bmakes guardian device 50 discoverable to lost device 40. In oneembodiment, device recovery program 100B activates the Bluetoothcapabilities of guardian device 50. For example, device recovery program100B sends an indication, using a Bluetooth API of guardian device 50,to activate the Bluetooth capabilities of guardian device 50 and to putguardian device 50 in to “discoverable mode.” Bluetooth devices that areset on “discoverable mode” have the ability to search for and locateeach other, so long as they remain within range. In other embodiments,device recovery program 100B causes guardian device 50 to join anyavailable personal area network such as personal area network 30. Forexample, if personal area network 30 is a WPAN (e.g., wireless LAN),device recovery program 100B sends an indication, using a wirelessnetwork API of guardian device 50, to activate a wireless networkantenna of guardian device 50 and to join the available wirelessnetwork. In other embodiments, device recovery program 100A scans fordevices nearby lost device 40.

In decision 310, device recovery program 100B determines if any devicesnearby guardian device 50 have been detected. In one embodiment, devicerecovery program 100B sends an indication to the Bluetooth API ofguardian device 50 to perform an inquiry to find other Bluetooth enableddevices to connect to. Any device in “discoverable mode” can beconfigured to respond to such inquiries. In another embodiment, onceguardian device 50 joins the available wireless network, device recoveryprogram 100B looks for other devices joined to the same network.

If device recovery program 100B determines that no devices nearbyguardian device 50 have been detected (decision 310, no branch), devicerecovery program 100B returns to step 300. If device recovery program100B determines that one or more devices nearby guardian device 50 havebeen detected (decision 310, yes branch, device recovery program 100Bproceeds to decision 320.

In decision 320, device recovery program 100B determines if any of theone or more detected devices nearby guardian device 50 are lost. In oneembodiment, device recovery program 100B sends an inquiry to devicerecovery program 100A on lost device 40 over PAN 30 to determine whetherlost device 40 is lost. If device recovery program 100A on lost device40 has determined that lost device 40 is lost, as described in referenceto decision 200 above, device recovery program 100A will respond to theinquiry from device recovery program 100B and the response will indicatethat lost device 40 is lost.

In another embodiment, if lost device 40 is lost but does not have thefunction to say “I′m lost” or might not yet consider itself lost, theuser of lost device 40 may engage one or more guardian devices to be onthe look out for lost device 40. For example, the user of lost device 40may use another computing device to send an indication to be on the lookout for lost device 40 to device recovery server program 110. The mobileoperator may then send the indication over network 20 to all otherdevices with an instance of device recovery program 100B running onthem. If device recovery program 100B determines that lost device 40 hasbeen detected then the device recovery program 100B will determine thatlost device 40 is lost based on the received indication from devicerecovery server program 110.

In some embodiments, decision 320 may take place after step 330depending on the protocol used to electronically bind lost device 40 andguardian device 50. For example, if the devices will be bound by usingBluetooth protocols, the inquiry of whether lost device 40 is lost willhave to take place after the devices are connected by the Bluetoothprotocol.

If device recovery program 100B determines that determines that none ofthe one or more detected devices nearby guardian device 50 are lost(decision 320, no branch), device recovery program 100B returns to step300. If device recovery program 100B determines that at least one of theone or more detected devices nearby guardian device 50 are lost(decision 320, yes branch, device recovery program 100B proceeds to step330.

In step 330, device recovery program 100B electronically binds guardiandevice 50 to the one detected device nearby guardian device 50 that islost (e.g., lost device 40). Device recovery program 100B sends arequest for lost device 40 to electronically bind with guardian device50 over PAN 30. In one embodiment, device recovery program 100B sends arequest to “pair” lost device 40 with guardian device 50 to devicerecovery program 100A of lost device 40 over PAN 30. In this embodiment,lost device 40 must also be Bluetooth enabled and in “discoverablemode.” In another embodiment, if lost device 40 and guardian device 50are both within range to join the same WPAN (e.g., wireless LAN), devicerecovery program 100B sends a request to create a peer-to-peerconnection to device recovery program 100A of lost device 40. Differentembodiments regarding electronically binding lost device 40 withguardian device 50 over PAN 30 are discussed in reference to step 240above.

In step 340, device recovery program 100B obtains information relatingto lost device 40 (e.g., the one detected device nearby guardian device50 that is lost). In one embodiment, device recovery program 100B sendsa request to device recovery program 100A over PAN 30 to retrieveinformation relating to lost device 40. In another embodiment, devicerecovery program 100B sends a request to device recovery server program110 over network 20 to retrieve information relating to lost device 40.The mobile operator may use information previously configured by theuser of lost device 40 while accessing device recovery server program110 on the mobile operator's system to respond to the request and/or themobile operator may retrieve new information from lost phone 40, itself.

For example, information relating to lost device 40 may include, but isnot limited to: the name and contact information of the user of lostdevice 40 including other contact numbers or email addresses; how longlost device 40 has been lost; where lost device 40 was lost; value ofany reward offered for recovery of lost device 40 (this could be presetduring the configuration of device recovery program 100A).

In order for device recovery program 100A to respond to the request fromdevice recovery program 100B, device recovery program 100A can callvarious APIs on lost device 40 to obtain the information relating tolost device 40. For example, device recovery program 100A can callcontacts API 80A to retrieve the name and contact information of theuser of lost device 40 including other contact numbers or emailaddresses. Device recovery program 100A can call location API 90A todetermine where lost device 40 was lost during operation of step 200described above.

In step 350, device recovery program 100B sends the information relatingto the one detected device nearby guardian device 50 that is lost (e.g.,lost device 40) to a designated party. In one embodiment, devicerecovery program 100B queries device recovery program 100A for thedesignated party. In other embodiments, the designated party isretrieved in step 340. For example, the designated party may be the userof lost device 40 at the users other contact numbers or email addresses.In other examples, the designated party may be another specified friendof the user, the mobile operator, the police, or a third party securitysystem.

In yet another example, a designated party may not have been set by theuser during configuration of device recovery program 100A. In such acase, device recovery program 100A may send all or a subset of contactsto device recovery program 100B. Device recovery program 100B, uponreceipt of all the contacts or a subset of contacts will compare thecontact list on guardian device 50 (accessed through contacts API 80B)with the received contacts for matches. If device recovery program 100Bfinds any matches it can prioritize who to contact based on this match.

In one embodiment, if the designated party can be reached electronically(e.g., by text message or email), device recovery program 100B sends theinformation relating to the one detected device nearby guardian device50 that is lost (e.g., lost device 40) directly to the designated party.In another embodiment, if the designated party can not be reachedelectronically (e.g., by text message or email), device recovery program100B alerts the user of guardian device 50 so that the user may contactthe designated party.

In other embodiments, if lost device 40 is not lost but the user of lostdevice 40 has engaged multiple guardian devices to be on the look outfor lost device 40; the multiple guardian devices may coordinate aresponse to a designated party. In one example, the first guardiandevice to bind to lost device 40 will receive the information relatingto lost device 40 from each subsequent guardian device to bind to lostdevice 40 and obtain information relating to lost device 40. Theinformation relating to lost device 40 obtained from subsequent guardiandevices may included more up to date location information that may aidin finding lost device 40. In another example, each guardian device tobind to lost device 40 may send the information relating to lost device40 to device recovery server program 110 over network 20.

In step 360, device recovery program 100B receives an indication tounbind guardian device 50 from lost device 40. In one embodiment, afterlost device 40 is returned to its user, device recovery program 100Breceives an indication from the user of guardian device 50 indicatingthat lost device 40 is no longer lost. The user may use a user interfaceto device recovery program 100B to indicate that lost device 40 is nolonger lost. In another embodiment, device recovery program 100B mustalso receive an indication from device recovery program 100A indicatingthat lost device 40 is no longer lost. Device recovery program 100A maydetermine that lost device 40 is no longer lost as describe in referenceto step 250 above. In other embodiments, device recovery program 100Bmay only have to receive an indication from the user of guardian device50 that lost device 40 is no longer lost.

In step 370, after receiving the indication to unbind guardian device 50from lost device 40, device recovery program 100B unbinds guardiandevice 50 from lost device 40. In one embodiment, if lost device 40 andguardian device 50 are “paired” such that device recovery programs 100Aand 100B can communicate using Bluetooth protocols, device recoveryprogram 100B removes lost device 40 as a “paired” device. In anotherembodiment, if lost device 40 and guardian device 50 are both withinrange to join the same WPAN (e.g., wireless LAN) such that devicerecovery programs 100A and 100B can communicate, device recovery program100B may send an indication, using a wireless network API of guardiandevice 50, to deactivate the wireless network antenna of guardian device50 or to disconnect from the available wireless network. After devicerecovery program 100B completes step 370 it returns to step 300.

FIG. 4 depicts a block diagram of components of lost device 40, guardiandevice 50, and mobile operator server 60 in accordance with oneembodiment of the present invention. It should be appreciated that FIG.4 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made.

Lost device 40, guardian device 50, and mobile operator server 60 eachinclude communications fabric 402, which provides communications betweencomputer processor(s) 404, memory 406, persistent storage 408,communications unit 410, and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 402 can beimplemented with one or more buses.

Memory 406 and persistent storage 408 are computer-readable storagemedia. In one embodiment, memory 406 includes random access memory (RAM)414 and cache memory 416. In general, memory 406 can include anysuitable volatile or non-volatile computer-readable storage media.

Contacts API 80A, location API 90A, and device recovery program 100A arestored in persistent storage 408 of lost device 40 for execution and/oraccess by one or more of the respective computer processors 404 of lostdevice 40 via one or more memories of memory 406 of lost device 40.Contacts API 80B, location API 90B, and device recovery program 100B arestored in persistent storage 408 of guardian device 50 for executionand/or access by one or more of the respective computer processors 404of guardian device 50 via one or more memories of memory 406 of guardiandevice 50. Device recovery server program 110 is stored in persistentstorage 408 of mobile operator server 60 for execution by one or more ofthe respective computer processors 404 of mobile operator server 60 viaone or more memories of memory 406 of mobile operator server 60. In thisembodiment, persistent storage 408 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 408 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer-readable storagemedia that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other servers, data processing systems, or devices. In theseexamples, communications unit 410 includes one or more network interfacecards. Communications unit 410 may provide communications through theuse of either or both physical and wireless communications links.Contacts API 80A, location API 90A, and device recovery program 100A maybe downloaded to persistent storage 408 of lost device 40 throughcommunications unit 410 of lost device 40. Contacts API 80B, locationAPI 90B, and device recovery program 100B may be downloaded topersistent storage 408 of guardian device 50 through communications unit410 of guardian device 50. Device recovery server program 110 may bedownloaded to persistent storage 408 of mobile operator server 60through communications unit 410 of mobile operator server 60.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to computing system 10. For example, I/Ointerface 412 may provide a connection to external devices 418 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 418 can also include portable computer-readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention, e.g., contacts API 80A, locationAPI 90A, and device recovery program 100A, can be stored on suchportable computer-readable storage media and can be loaded ontopersistent storage 408 of lost device 40 via I/O interface(s) 412 oflost device 40. Software and data used to practice embodiments of thepresent invention, e.g., contacts API 80B, location API 90B, and devicerecovery program 100B, can be stored on such portable computer-readablestorage media and can be loaded onto persistent storage 408 of guardiandevice 50 via I/O interface(s) 412 of guardian device 50. Software anddata used to practice embodiments of the present invention, e.g., devicerecovery server program 110, can be stored on such portablecomputer-readable storage media and can be loaded onto persistentstorage 408 of mobile operator server 60 via I/O interface(s) 412 ofmobile operator server 60. I/O interface(s) 412 also connect to adisplay 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor or a touch screen.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the Figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

What is claimed is:
 1. A method comprising the steps of: a first mobiledevice electronically binding to a second mobile device, wherein thesecond mobile device is lost; the first mobile device obtaininginformation relating to the second mobile device; the first mobiledevice sending the information relating to the second mobile device to adesignated party; the first mobile device receiving, from a user of thefirst mobile device, an indication that the second device is no longerlost; and the first mobile device, in response to receiving theindication that the second device is no longer lost, unbinding from thesecond mobile device.
 2. The method of claim 1, wherein the step of thefirst mobile device electronically binding to the second mobile devicecomprises the first mobile device sending a request to the second mobiledevice to create a peer-to-peer connection between the first mobiledevice and the second mobile device.
 3. The method of claim 1, whereinthe step of the first mobile device sending the information relating tothe second mobile device to a designated party comprises the firstmobile device sending the information relating to the second mobiledevice to the designated party and a mobile operator.
 4. The method ofclaim 1, wherein the information relating to the second mobile deviceincludes a designated party to contact and contact information for thedesignated party.
 5. A computer program product comprising: one or morecomputer-readable storage devices and program instructions stored on theone or more computer-readable storage devices, the program instructionscomprising: program instructions to electronically bind, by a firstmobile device, to a second mobile device, wherein the second mobiledevice is lost; program instructions to obtain, by the first mobiledevice, information relating to the second mobile device; programinstructions to send, by the first mobile device, the informationrelating to the second mobile device to a designated party; programinstructions to receive, by the first mobile device from a user of thefirst mobile device, an indication that the second device is no longerlost; and program instructions to, by a first mobile device, in responseto receiving the indication that the second device is no longer lost,unbind from the second mobile device.
 6. The computer program product ofclaim 5, wherein the program instructions to electronically bind, by thefirst mobile device, to the second mobile device comprise programinstructions to send, by the first mobile device, a request to thesecond mobile device to create a peer-to-peer connection between thefirst mobile device and the second mobile device.
 7. The computerprogram product of claim 5, wherein the program instructions to send, bythe first mobile device, the information relating to the second mobiledevice to a designated party comprise program instructions to send, bythe first mobile device, the information relating to the second mobiledevice to the designated party and a mobile operator.
 8. The computerprogram product of claim 5, wherein the information relating to thesecond mobile device includes a designated party to contact and contactinformation for the designated party.
 9. A computer system comprising:one or more computer processors, one or more computer-readable storagedevices, and program instructions stored on the computer-readablestorage devices media for execution by at least one of the one or moreprocessors, the program instructions comprising: program instructions toelectronically bind, by a first mobile device, to a second mobiledevice, wherein the second mobile device is lost; program instructionsto obtain, by the first mobile device, information relating to thesecond mobile device; program instructions to send, by the first mobiledevice, the information relating to the second mobile device to adesignated party; program instructions to receive, by the first mobiledevice from a user of the first mobile device, an indication that thesecond device is no longer lost; and program instructions to, by a firstmobile device, in response to receiving the indication that the seconddevice is no longer lost, unbind from the second mobile device.
 10. Thecomputer system of claim 9, wherein the program instructions toelectronically bind, by the first mobile device, to the second mobiledevice comprise program instructions to send, by the first mobiledevice, a request to the second mobile device to create a peer-to-peerconnection between the first mobile device and the second mobile device.11. The computer system of claim 9, wherein the program instructions tosend, by the first mobile device, the information relating to the secondmobile device to a designated party comprise program instructions tosend, by the first mobile device, the information relating to the secondmobile device to the designated party and a mobile operator.
 12. Thecomputer system of claim 9, wherein the information relating to thesecond mobile device includes a designated party to contact and contactinformation for the designated party.